home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Draw / CWindow.as < prev   
Encoding:
Text File  |  2011-08-19  |  25.5 KB  |  590 lines

  1.  
  2. {
  3.    if(true)
  4.    {
  5.       CWindow = ┬º┬ºnewclass(CWindow,MovieClip);
  6.    }
  7. }
  8.  
  9. package Local.Draw
  10. {
  11.    import Local.*;
  12.    import fl.motion.easing.*;
  13.    import flash.display.*;
  14.    import flash.events.*;
  15.    import flash.filters.*;
  16.    import flash.geom.*;
  17.    import flash.utils.getTimer;
  18.    
  19.    public class CWindow extends MovieClip
  20.    {
  21.       
  22.       public static const mFlashColor:int = 16777215;
  23.       
  24.       public static const mBorderAlpha:Number = 0.5;
  25.       
  26.       public static const mBorderColor:int = 16777215;
  27.       
  28.       public static const mTrailAmount:int = 5;
  29.       
  30.       public static const mStageSize:Rectangle = CMain.mSize;
  31.       
  32.       public static const zPoint:Point = new Point(0,0);
  33.       
  34.       public static const OPEN:String = "OPEN";
  35.       
  36.       public static const DISPOSING:String = "DISPOSING";
  37.        
  38.       
  39.       private var mTrails:Array;
  40.       
  41.       private var mcDraw:MovieClip;
  42.       
  43.       private var mSize:Rectangle;
  44.       
  45.       private var mState:String;
  46.       
  47.       private var mDuration:int;
  48.       
  49.       public var mcDisplay:MovieClip;
  50.       
  51.       internal var mButtons:Object;
  52.       
  53.       private var mStartTime:int;
  54.       
  55.       private var mcBG:MovieClip;
  56.       
  57.       private var mTargetSize:Rectangle;
  58.       
  59.       private var gfx:Graphics;
  60.       
  61.       private var mClosing:Boolean;
  62.       
  63.       private var mStartSize:Rectangle;
  64.       
  65.       private var mTransitionSize:Rectangle;
  66.       
  67.       private var bmBG:Bitmap;
  68.       
  69.       public function CWindow(param1:MovieClip, param2:DisplayObject, param3:Point = null, param4:Boolean = true)
  70.       {
  71.          var _loc5_:* = undefined;
  72.          if(true)
  73.          {
  74.             super();
  75.             param3 = !!param3 ? param3 : new Point();
  76.             if(true)
  77.             {
  78.                ┬º┬ºpush(param2 != null);
  79.                if(param2 != null)
  80.                {
  81.                   ┬º┬ºpop();
  82.                   if(true)
  83.                   {
  84.                      addr39:
  85.                      if(param4)
  86.                      {
  87.                         if(true)
  88.                         {
  89.                            addChild(mcBG = new MovieClip());
  90.                            if(true)
  91.                            {
  92.                               mcBG.visible = false;
  93.                            }
  94.                            bmBG = new Bitmap();
  95.                         }
  96.                         bmBG.bitmapData = new BitmapData(mStageSize.width,mStageSize.height,true,0);
  97.                         ┬º┬ºgoto(addr71);
  98.                      }
  99.                      ┬º┬ºgoto(addr118);
  100.                   }
  101.                   addr71:
  102.                   bmBG.bitmapData.draw(param2);
  103.                   ┬º┬ºgoto(addr75);
  104.                }
  105.                ┬º┬ºgoto(addr39);
  106.             }
  107.             addr75:
  108.             for each(_loc5_ in new WindowFilter_Background().mcFilter.filters)
  109.             {
  110.                bmBG.bitmapData.applyFilter(bmBG.bitmapData,bmBG.bitmapData.rect,zPoint,_loc5_);
  111.             }
  112.             if(true)
  113.             {
  114.                mcBG.addChild(bmBG);
  115.                if(true)
  116.                {
  117.                   addr118:
  118.                   addChild(mcDisplay = param1);
  119.                   if(true)
  120.                   {
  121.                      mSize = new Rectangle((mStageSize.width - mcDisplay.mcSize.width) / 2 + param3.x,(mStageSize.height - mcDisplay.mcSize.height) / 2 + param3.y,mcDisplay.mcSize.width,mcDisplay.mcSize.height);
  122.                      if(true)
  123.                      {
  124.                         mcDisplay.mcSize.visible = false;
  125.                         if(true)
  126.                         {
  127.                            mcDisplay.visible = false;
  128.                            if(true)
  129.                            {
  130.                               mcDisplay.x = mSize.x;
  131.                            }
  132.                            mcDisplay.y = mSize.y;
  133.                         }
  134.                         addChild(mcDraw = new MovieClip());
  135.                      }
  136.                      mTrails = new Array();
  137.                   }
  138.                   mState = "transitionin";
  139.                }
  140.                mButtons = new Object();
  141.             }
  142.             return;
  143.          }
  144.          ┬º┬ºgoto(addr18);
  145.       }
  146.       
  147.       public static function EaseOut(param1:Number) : Number
  148.       {
  149.          return Elastic.easeOut(param1,0,1,1,0,1.5);
  150.       }
  151.       
  152.       public static function EaseIn(param1:Number) : Number
  153.       {
  154.          return Elastic.easeIn(param1,0,1,1,0,1.5);
  155.       }
  156.       
  157.       public function GetButton(param1:String) : CScreenButton
  158.       {
  159.          return mButtons[param1];
  160.       }
  161.       
  162.       public function AddButton(param1:String, param2:CScreenButton) : CScreenButton
  163.       {
  164.          if(true)
  165.          {
  166.             mButtons[param1] = param2;
  167.             if(true)
  168.             {
  169.                param2.mID = param1;
  170.             }
  171.             param2.mParent = this;
  172.          }
  173.          return param2;
  174.       }
  175.       
  176.       public function Close() : void
  177.       {
  178.          if(!mClosing)
  179.          {
  180.             mState = "displayout";
  181.             mClosing = true;
  182.          }
  183.       }
  184.       
  185.       public function get mFactor() : Number
  186.       {
  187.          return Math.min(1,(getTimer() - mStartTime) / mDuration);
  188.       }
  189.       
  190.       public function DrawRect(param1:Rectangle) : void
  191.       {
  192.          if(true)
  193.          {
  194.             gfx.drawRect(param1.x,param1.y,param1.width,param1.height);
  195.          }
  196.       }
  197.       
  198.       public function RenderTrails(param1:Boolean = false) : void
  199.       {
  200.          var _loc2_:* = NaN;
  201.          var _loc3_:Object = null;
  202.          if(mTrails.length > mTrailAmount)
  203.          {
  204.             mTrails = mTrails.slice(mTrails.length - mTrailAmount);
  205.          }
  206.          _loc2_ = 0;
  207.          for each(_loc3_ in mTrails)
  208.          {
  209.             ┬º┬ºpush(_loc2_);
  210.             if(true)
  211.             {
  212.                ┬º┬ºpush(┬º┬ºpop() + 1 / (mTrailAmount + 1));
  213.             }
  214.             _loc2_ = ┬º┬ºpop();
  215.             gfx.lineStyle(0,mBorderColor,_loc2_ * mBorderAlpha);
  216.             DrawRect(_loc3_.mRect);
  217.          }
  218.          ┬º┬ºpush(Boolean(mTrails.length));
  219.          if(true)
  220.          {
  221.             if(┬º┬ºpop())
  222.             {
  223.                if(true)
  224.                {
  225.                   ┬º┬ºpop();
  226.                   ┬º┬ºpush(param1);
  227.                }
  228.                ┬º┬ºpush(┬º┬ºpop());
  229.             }
  230.          }
  231.          if(┬º┬ºpop())
  232.          {
  233.             mTrails.shift();
  234.          }
  235.       }
  236.       
  237.       public function TweenNumber(param1:Number, param2:Number, param3:Number) : Number
  238.       {
  239.          return (param2 - param1) * param3 + param1;
  240.       }
  241.       
  242.       public function e_CLOSE(param1:MouseEvent = null) : void
  243.       {
  244.          Close();
  245.       }
  246.       
  247.       public function TweenRect(param1:Rectangle, param2:Rectangle, param3:Number) : Rectangle
  248.       {
  249.          var _loc4_:Rectangle = null;
  250.          (_loc4_ = new Rectangle()).x = TweenNumber(param1.x,param2.x,param3);
  251.          _loc4_.y = TweenNumber(param1.y,param2.y,param3);
  252.          _loc4_.width = TweenNumber(param1.width,param2.width,param3);
  253.          _loc4_.height = TweenNumber(param1.height,param2.height,param3);
  254.          return _loc4_;
  255.       }
  256.       
  257.       public function Update() : void
  258.       {
  259.          var _loc1_:Number = NaN;
  260.          if(true)
  261.          {
  262.             gfx = this.mcDraw.graphics;
  263.          }
  264.          switch(mState)
  265.          {
  266.             case "transitionin":
  267.                mState = "transitionin_step";
  268.                if(true)
  269.                {
  270.                   mStartSize = new Rectangle(mStageSize.width / 2,mStageSize.height + 10,0,0);
  271.                   if(false)
  272.                   {
  273.                      addr383:
  274.                      break;
  275.                   }
  276.                   mTransitionSize = new Rectangle();
  277.                   if(true)
  278.                   {
  279.                      mTargetSize = mSize;
  280.                      if(true)
  281.                      {
  282.                         mStartTime = getTimer();
  283.                         if(true)
  284.                         {
  285.                            mDuration = 500;
  286.                            if(true)
  287.                            {
  288.                               if(mcBG)
  289.                               {
  290.                                  if(true)
  291.                                  {
  292.                                     mcBG.visible = true;
  293.                                     if(true)
  294.                                     {
  295.                                        mcBG.alpha = 0;
  296.                                        if(true)
  297.                                        {
  298.                                           addr77:
  299.                                           mTrails.push({"mRect":mTransitionSize.clone()});
  300.                                           if(true)
  301.                                           {
  302.                                              mTransitionSize = TweenRect(mStartSize,mTargetSize,_loc1_ = EaseOut(mFactor));
  303.                                              if(true)
  304.                                              {
  305.                                                 gfx.clear();
  306.                                                 if(true)
  307.                                                 {
  308.                                                    RenderTrails();
  309.                                                    if(true)
  310.                                                    {
  311.                                                       gfx.lineStyle(0,mBorderColor,mBorderAlpha);
  312.                                                       if(true)
  313.                                                       {
  314.                                                          DrawRect(mTransitionSize);
  315.                                                          if(true)
  316.                                                          {
  317.                                                             if(mcBG)
  318.                                                             {
  319.                                                                if(true)
  320.                                                                {
  321.                                                                   mcBG.alpha = _loc1_;
  322.                                                                   if(true)
  323.                                                                   {
  324.                                                                      addr132:
  325.                                                                      ┬º┬ºpush(_loc1_);
  326.                                                                      if(true)
  327.                                                                      {
  328.                                                                         if(┬º┬ºpop() == 1)
  329.                                                                         {
  330.                                                                            if(true)
  331.                                                                            {
  332.                                                                               mState = "displayin";
  333.                                                                               if(true)
  334.                                                                               {
  335.                                                                                  addr144:
  336.                                                                                  break;
  337.                                                                               }
  338.                                                                               addr310:
  339.                                                                               mcDisplay.visible = false;
  340.                                                                            }
  341.                                                                            mTargetSize = mStartSize.clone();
  342.                                                                            addr317:
  343.                                                                            mStartSize = mTransitionSize.clone();
  344.                                                                            addr321:
  345.                                                                            mTransitionSize = new Rectangle();
  346.                                                                            addr325:
  347.                                                                            mStartTime = getTimer();
  348.                                                                            addr329:
  349.                                                                            mDuration = 300;
  350.                                                                            addr332:
  351.                                                                            mTrails.push({"mRect":mTransitionSize.clone()});
  352.                                                                            addr339:
  353.                                                                            mTransitionSize = TweenRect(mStartSize,mTargetSize,_loc1_ = EaseIn(mFactor));
  354.                                                                            addr354:
  355.                                                                            gfx.clear();
  356.                                                                            addr356:
  357.                                                                            RenderTrails();
  358.                                                                            addr358:
  359.                                                                            gfx.lineStyle(0,mBorderColor,mBorderAlpha);
  360.                                                                            addr363:
  361.                                                                            DrawRect(mTransitionSize);
  362.                                                                            if(mcBG)
  363.                                                                            {
  364.                                                                               addr368:
  365.                                                                               mcBG.alpha = 1 - _loc1_;
  366.                                                                               addr373:
  367.                                                                               if(_loc1_ == 1)
  368.                                                                               {
  369.                                                                                  addr376:
  370.                                                                                  mState = "dispose";
  371.                                                                                  addr379:
  372.                                                                                  break;
  373.                                                                               }
  374.                                                                               ┬º┬ºgoto(addr379);
  375.                                                                            }
  376.                                                                            ┬º┬ºgoto(addr373);
  377.                                                                         }
  378.                                                                         ┬º┬ºgoto(addr144);
  379.                                                                      }
  380.                                                                      ┬º┬ºgoto(addr373);
  381.                                                                   }
  382.                                                                   ┬º┬ºgoto(addr317);
  383.                                                                }
  384.                                                                ┬º┬ºgoto(addr321);
  385.                                                             }
  386.                                                             ┬º┬ºgoto(addr132);
  387.                                                          }
  388.                                                          ┬º┬ºgoto(addr325);
  389.                                                       }
  390.                                                       ┬º┬ºgoto(addr329);
  391.                                                    }
  392.                                                    ┬º┬ºgoto(addr332);
  393.                                                 }
  394.                                                 ┬º┬ºgoto(addr339);
  395.                                              }
  396.                                              ┬º┬ºgoto(addr354);
  397.                                           }
  398.                                           ┬º┬ºgoto(addr356);
  399.                                        }
  400.                                        ┬º┬ºgoto(addr358);
  401.                                     }
  402.                                     ┬º┬ºgoto(addr363);
  403.                                  }
  404.                                  ┬º┬ºgoto(addr317);
  405.                               }
  406.                               ┬º┬ºgoto(addr77);
  407.                            }
  408.                         }
  409.                         ┬º┬ºgoto(addr368);
  410.                      }
  411.                   }
  412.                   ┬º┬ºgoto(addr376);
  413.                }
  414.                break;
  415.             case "transitionin_step":
  416.                ┬º┬ºgoto(addr77);
  417.             case "transitionout":
  418.                mState = "transitionout_step";
  419.                ┬º┬ºgoto(addr310);
  420.             case "transitionout_step":
  421.                ┬º┬ºgoto(addr317);
  422.             case "displayin":
  423.                mState = "displayin_step";
  424.                if(true)
  425.                {
  426.                   mDuration = 150;
  427.                   if(true)
  428.                   {
  429.                      mStartTime = getTimer();
  430.                      if(true)
  431.                      {
  432.                         mcDisplay.visible = true;
  433.                         if(true)
  434.                         {
  435.                            mcDisplay.bClose.addEventListener(MouseEvent.MOUSE_DOWN,e_CLOSE);
  436.                            if(true)
  437.                            {
  438.                               addr175:
  439.                               ┬º┬ºpush(1 - mFactor);
  440.                               if(true)
  441.                               {
  442.                                  var _loc2_:*;
  443.                                  ┬º┬ºpush(_loc2_ = ┬º┬ºpop());
  444.                                  if(true)
  445.                                  {
  446.                                     _loc1_ = ┬º┬ºpop();
  447.                                     ┬º┬ºpush(_loc2_);
  448.                                  }
  449.                                  if(true)
  450.                                  {
  451.                                     ┬º┬ºpush(┬º┬ºpop() == 0);
  452.                                     if(┬º┬ºpop() == 0)
  453.                                     {
  454.                                        ┬º┬ºpop();
  455.                                        if(true)
  456.                                        {
  457.                                           addr202:
  458.                                           if(mTrails.length == 0)
  459.                                           {
  460.                                              if(true)
  461.                                              {
  462.                                                 mState = "normal";
  463.                                                 if(true)
  464.                                                 {
  465.                                                    dispatchEvent(new Event(OPEN));
  466.                                                    if(true)
  467.                                                    {
  468.                                                       addr217:
  469.                                                       gfx.clear();
  470.                                                       if(true)
  471.                                                       {
  472.                                                          RenderTrails(true);
  473.                                                          if(true)
  474.                                                          {
  475.                                                             gfx.lineStyle(0,mBorderColor,mBorderAlpha * _loc1_);
  476.                                                             if(true)
  477.                                                             {
  478.                                                                if(_loc1_)
  479.                                                                {
  480.                                                                   if(true)
  481.                                                                   {
  482.                                                                      gfx.beginFill(mFlashColor,_loc1_);
  483.                                                                      if(true)
  484.                                                                      {
  485.                                                                         addr252:
  486.                                                                         DrawRect(mTransitionSize);
  487.                                                                      }
  488.                                                                      addr256:
  489.                                                                      if(!_loc1_)
  490.                                                                      {
  491.                                                                      }
  492.                                                                      addr259:
  493.                                                                      break;
  494.                                                                   }
  495.                                                                   gfx.endFill();
  496.                                                                   ┬º┬ºgoto(addr259);
  497.                                                                }
  498.                                                                ┬º┬ºgoto(addr252);
  499.                                                             }
  500.                                                             ┬º┬ºgoto(addr259);
  501.                                                          }
  502.                                                          else
  503.                                                          {
  504.                                                             addr266:
  505.                                                             mDuration = 100;
  506.                                                          }
  507.                                                       }
  508.                                                       mStartTime = getTimer();
  509.                                                       addr273:
  510.                                                       gfx.clear();
  511.                                                    }
  512.                                                    ┬º┬ºgoto(addr273);
  513.                                                 }
  514.                                                 RenderTrails(true);
  515.                                              }
  516.                                              gfx.lineStyle(0,mBorderColor,mBorderAlpha);
  517.                                              addr284:
  518.                                              gfx.beginFill(mFlashColor,_loc1_ = mFactor);
  519.                                              addr294:
  520.                                              DrawRect(mTransitionSize);
  521.                                              addr297:
  522.                                              gfx.endFill();
  523.                                              if(_loc1_ == 1)
  524.                                              {
  525.                                                 addr302:
  526.                                                 mState = "transitionout";
  527.                                                 addr305:
  528.                                                 break;
  529.                                              }
  530.                                              ┬º┬ºgoto(addr305);
  531.                                           }
  532.                                           ┬º┬ºgoto(addr217);
  533.                                        }
  534.                                        ┬º┬ºgoto(addr284);
  535.                                     }
  536.                                     ┬º┬ºgoto(addr202);
  537.                                  }
  538.                                  ┬º┬ºgoto(addr256);
  539.                               }
  540.                               ┬º┬ºgoto(addr284);
  541.                            }
  542.                            ┬º┬ºgoto(addr294);
  543.                         }
  544.                         ┬º┬ºgoto(addr297);
  545.                      }
  546.                      ┬º┬ºgoto(addr284);
  547.                   }
  548.                }
  549.                ┬º┬ºgoto(addr302);
  550.             case "displayin_step":
  551.                ┬º┬ºgoto(addr175);
  552.             case "displayout":
  553.                mState = "displayout_step";
  554.                ┬º┬ºgoto(addr266);
  555.             case "displayout_step":
  556.                ┬º┬ºgoto(addr217);
  557.             case "normal":
  558.                break;
  559.             case "dispose":
  560.                Dispose();
  561.                ┬º┬ºgoto(addr383);
  562.          }
  563.       }
  564.       
  565.       public function Dispose() : void
  566.       {
  567.          if(true)
  568.          {
  569.             if(parent)
  570.             {
  571.                if(true)
  572.                {
  573.                   dispatchEvent(new Event(DISPOSING));
  574.                   if(true)
  575.                   {
  576.                      parent.removeChild(this);
  577.                   }
  578.                   if(!mcBG)
  579.                   {
  580.                   }
  581.                   ┬º┬ºgoto(addr37);
  582.                }
  583.                bmBG.bitmapData.dispose();
  584.             }
  585.          }
  586.          addr37:
  587.       }
  588.    }
  589. }
  590.